package com.zwps.biz.domain.service;

import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONObject;
import com.zwps.biz.api.model.dto.mointordentify.AlarmBroacdCastVO;
import com.zwps.biz.api.model.vo.pubpointall.*;
import com.zwps.biz.api.model.vo.pubwarnrec.CrossSectionCodeVO;
import com.zwps.biz.api.model.vo.pubwarnrec.CrossSectionVO;
import com.zwps.biz.api.model.vo.ststbprp.OtherPptnDateVO;
import com.zwps.biz.api.model.vo.ststbprp.OtherPptnPointDataVO;
import com.zwps.biz.api.model.vo.ststbprp.OtherPptnPointVO;
import com.zwps.biz.dal.db.object.PubPointAllDO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

public interface PubPointAllService extends IService<PubPointAllDO>{


    String getVideoURL(String rscd);

    List<PubPointAllVO> getAddress(String sttpcd);

    Map<String, Object> queryForcastRainLineChartData(String nowTimes, String accessToken);

    Object getWDate(String id);

    List<PubPointCountVO> countPointByType(String type);

    JSONArray getSectionData(String id);

    List<PubPointCountVO> countPointByTypes(String type);

    MaintainInfoVO getMaintainInfo(Integer year, String projectType);

    RsvrInfoVO getRsvrInfo();

    List<ArchivesVO> getArchives(String id);

    List<PubPointAllVO> getPoinDate(Integer type);

    List<RzRationVO> getRzRation(Integer type);

    NowDateNewVO getNowDateNew();

    List<CrossSectionVO> getCrossSectionList(Integer sccd);

    List<CrossSectionCodeVO> getCrossSectionCode();
    /**
     * 获取站点历史数据
     *
     * @param stationType 站点类型
     * @param timeType    时间类型
     * @return
     */
    List<PubSectionWarnVO> getPubPointHistoryData(Integer stationType, Integer timeType,String dataTime);

    List<PubSectionWarnVO> getSectionStutasByType(Integer type, boolean b);

    List<WaterQualityVO> getWaterQualityList();

    List<OtherPptnPointVO> getOthetrPptnPoint(Integer type);

    List<OtherPptnDateVO> getOhetrPptnDate(String stcd, String startTime, String endTime,Integer type,Integer code);

    List<PubSectionWarnVO> getOhetrPptnLastDate(Integer type,Integer code);

    List<PttnSectionVO> getElectronicCrawl();

    List<OtherPptnPointDataVO> getOhetrPptnPointDataList(Integer type,String stcd,String startTime,String endTime);

    String getWaterFile();
}
